//
//  Manathan.h
//  Taquin
//
//  Created by Benjamin Bouachour on 13/08/11.
//  Copyright 2011 Epitech. All rights reserved.
//

#ifndef _MYHEURISTIQUE
#define _MYHEURISTIQUE

#include "IHeuristique.h"

typedef map<string, pair<int, int> > invert_tgrid;

class MyHeuristique : public IHeuristique {
    Etat final;
    
public:
    MyHeuristique();
    MyHeuristique(const Etat *_final);
    MyHeuristique(const MyHeuristique &copie);
    
    virtual const void setCurrent(const Etat *newEtat);
    
    virtual const int calculHeuristique( Etat *etat);

    const int calculGCost(const Etat *parent, Etat *etat);
    const int calculHCost(Etat *etat);
    const int calculHCost(Etat *parent, Etat *etat);

    invert_tgrid exchangeGrid(const tgrid grid);

};

#endif